package com.taxi.driver.socket.message;


import com.taxi.driver.common.AppConfig;
import com.taxi.driver.socket.message.base.Message;
import com.taxi.driver.socket.message.base.MessageType;

/**
 * UploadLocationMessage
 *
 * @author Zoro
 * @date 2016/12/28
 */
public class UploadLocationMessage extends Message {

    public UploadLocationMessage() {
        super.setType(MessageType.UPLOAD_LOCATION);
        this.appid = AppConfig.YUEYUE_APPKEY;
    }

    public UploadLocationMessage(String locationUuid, String driverUuid, int driverType,
                                 Double distance, Double lat, Double lng,
                                 float angle, float speed, double elevation,
                                 String areaCode, int bizStatus, String positionType) {
        super.setType(MessageType.UPLOAD_LOCATION);
        this.appid = AppConfig.YUEYUE_APPKEY;
        this.driverType = driverType;
        this.locationUuid = locationUuid;
        this.driverUuid = driverUuid;
        this.distance = distance;
        this.lat = lat;
        this.lng = lng;
        this.angle = angle;
        this.speed = speed;
        this.elevation = elevation;
        this.areaCode = areaCode;
        this.bizStatus = bizStatus;
        this.positionType = positionType;
    }

    private String appid; //约约AppKey
    private int driverType; //司机类型（1.出租车、2.专车、3.跨城拼车）
    private String locationUuid;//位置点uuid
    private String driverUuid;//司机uuid
    private Double distance;//与上一点的距离
    private Double lat;//纬度
    private Double lng;//经度
    private int bizStatus;//运营状态
    private float angle;//角度
    private float accuracy;//精度
    private float speed;//瞬时速度
    private double elevation;//海拔高度
    private String areaCode;//区域编码
    private String positionType;//位置信息类型

    private Integer orderStatus; //订单状态
    private Long uploadTime; //上传时间（时间戳）
    private Double mileage; //订单中累计距离
    private String orderUuid;//订单uuid
    private String passengerUuid; //乘客uuid
    private int carLevelType;

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public int getDriverType() {
        return driverType;
    }

    public void setDriverType(int driverType) {
        this.driverType = driverType;
    }

    public String getLocationUuid() {
        return locationUuid;
    }

    public void setLocationUuid(String locationUuid) {
        this.locationUuid = locationUuid;
    }

    public String getDriverUuid() {
        return driverUuid;
    }

    public void setDriverUuid(String driverUuid) {
        this.driverUuid = driverUuid;
    }

    public Double getDistance() {
        return distance;
    }

    public void setDistance(Double distance) {
        this.distance = distance;
    }

    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public Double getLng() {
        return lng;
    }

    public void setLng(Double lng) {
        this.lng = lng;
    }

    public int getBizStatus() {
        return bizStatus;
    }

    public void setBizStatus(int bizStatus) {
        this.bizStatus = bizStatus;
    }

    public float getAngle() {
        return angle;
    }

    public void setAngle(float angle) {
        this.angle = angle;
    }

    public float getAccuracy() {
        return accuracy;
    }

    public void setAccuracy(float accuracy) {
        this.accuracy = accuracy;
    }

    public float getSpeed() {
        return speed;
    }

    public void setSpeed(float speed) {
        this.speed = speed;
    }

    public double getElevation() {
        return elevation;
    }

    public void setElevation(double elevation) {
        this.elevation = elevation;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getPositionType() {
        return positionType;
    }

    public void setPositionType(String positionType) {
        this.positionType = positionType;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Long getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(Long uploadTime) {
        this.uploadTime = uploadTime;
    }

    public Double getMileage() {
        return mileage;
    }

    public void setMileage(Double mileage) {
        this.mileage = mileage;
    }

    public String getOrderUuid() {
        return orderUuid;
    }

    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    public String getPassengerUuid() {
        return passengerUuid;
    }

    public void setPassengerUuid(String passengerUuid) {
        this.passengerUuid = passengerUuid;
    }

    public int getCarLevelType() {
        return carLevelType;
    }

    public void setCarLevelType(int carLevelType) {
        this.carLevelType = carLevelType;
    }
}
